package com.kgc.collection.pojo;


import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class SalesAdvance implements Serializable {

  private int id;
  private String docCode;
  @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
  private Date docDate;
  private int cid;
  private int uid;
  private BigDecimal advanceAmount;
  private BigDecimal advanceRefundAmount;
  private int status;
  private String notes;
  private String createBy;
  @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
  private Date createTime;
  private String updateBy;
  @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
  private Date updateTime;
  private int isDelete;
  private BigDecimal settledAmount;
  private BigDecimal unsettledAmount;
  private String sourceSheet;
  private int typeId;
  private int did;

  private int checkmanId;
  @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
  private Date checkTime;
  private String checkComment;
  private String checkmanIdStr;
  //连表查询的数据
  private String uidStr;
  private String didStr;
  private String cidStr;

  //明细表数据
  private List<SalesAdvanceDetail> details;


  public SalesAdvance() {
  }

  public SalesAdvance(int id, String docCode, Date docDate, int cid, int uid, BigDecimal advanceAmount, BigDecimal advanceRefundAmount, int status, String notes, String createBy, Date createTime, String updateBy, Date updateTime, int isDelete, BigDecimal settledAmount, BigDecimal unsettledAmount, String sourceSheet, int typeId, int did, int checkmanId, Date checkTime, String checkComment, String checkmanIdStr, String uidStr, String didStr, String cidStr, List<SalesAdvanceDetail> details) {
    this.id = id;
    this.docCode = docCode;
    this.docDate = docDate;
    this.cid = cid;
    this.uid = uid;
    this.advanceAmount = advanceAmount;
    this.advanceRefundAmount = advanceRefundAmount;
    this.status = status;
    this.notes = notes;
    this.createBy = createBy;
    this.createTime = createTime;
    this.updateBy = updateBy;
    this.updateTime = updateTime;
    this.isDelete = isDelete;
    this.settledAmount = settledAmount;
    this.unsettledAmount = unsettledAmount;
    this.sourceSheet = sourceSheet;
    this.typeId = typeId;
    this.did = did;
    this.checkmanId = checkmanId;
    this.checkTime = checkTime;
    this.checkComment = checkComment;
    this.checkmanIdStr = checkmanIdStr;
    this.uidStr = uidStr;
    this.didStr = didStr;
    this.cidStr = cidStr;
    this.details = details;
  }

  public BigDecimal getAdvanceRefundAmount() {
    return advanceRefundAmount;
  }

  public void setAdvanceRefundAmount(BigDecimal advanceRefundAmount) {
    this.advanceRefundAmount = advanceRefundAmount;
  }

  public int getCheckmanId() {
    return checkmanId;
  }

  public void setCheckmanId(int checkmanId) {
    this.checkmanId = checkmanId;
  }

  public Date getCheckTime() {
    return checkTime;
  }

  public void setCheckTime(Date checkTime) {
    this.checkTime = checkTime;
  }

  public String getCheckComment() {
    return checkComment;
  }

  public void setCheckComment(String checkComment) {
    this.checkComment = checkComment;
  }

  public String getCheckmanIdStr() {
    return checkmanIdStr;
  }

  public void setCheckmanIdStr(String checkmanIdStr) {
    this.checkmanIdStr = checkmanIdStr;
  }

  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public String getDocCode() {
    return docCode;
  }

  public void setDocCode(String docCode) {
    this.docCode = docCode;
  }

  public Date getDocDate() {
    return docDate;
  }

  public void setDocDate(Date docDate) {
    this.docDate = docDate;
  }

  public int getCid() {
    return cid;
  }

  public void setCid(int cid) {
    this.cid = cid;
  }

  public int getUid() {
    return uid;
  }

  public void setUid(int uid) {
    this.uid = uid;
  }

  public BigDecimal getAdvanceAmount() {
    return advanceAmount;
  }

  public void setAdvanceAmount(BigDecimal advanceAmount) {
    this.advanceAmount = advanceAmount;
  }

  public int getStatus() {
    return status;
  }

  public void setStatus(int status) {
    this.status = status;
  }

  public String getNotes() {
    return notes;
  }

  public void setNotes(String notes) {
    this.notes = notes;
  }

  public String getCreateBy() {
    return createBy;
  }

  public void setCreateBy(String createBy) {
    this.createBy = createBy;
  }

  public Date getCreateTime() {
    return createTime;
  }

  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  public String getUpdateBy() {
    return updateBy;
  }

  public void setUpdateBy(String updateBy) {
    this.updateBy = updateBy;
  }

  public Date getUpdateTime() {
    return updateTime;
  }

  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }

  public int getIsDelete() {
    return isDelete;
  }

  public void setIsDelete(int isDelete) {
    this.isDelete = isDelete;
  }

  public BigDecimal getSettledAmount() {
    return settledAmount;
  }

  public void setSettledAmount(BigDecimal settledAmount) {
    this.settledAmount = settledAmount;
  }

  public BigDecimal getUnsettledAmount() {
    return unsettledAmount;
  }

  public void setUnsettledAmount(BigDecimal unsettledAmount) {
    this.unsettledAmount = unsettledAmount;
  }

  public String getSourceSheet() {
    return sourceSheet;
  }

  public void setSourceSheet(String sourceSheet) {
    this.sourceSheet = sourceSheet;
  }

  public int getTypeId() {
    return typeId;
  }

  public void setTypeId(int typeId) {
    this.typeId = typeId;
  }

  public int getDid() {
    return did;
  }

  public void setDid(int did) {
    this.did = did;
  }

  public String getUidStr() {
    return uidStr;
  }

  public void setUidStr(String uidStr) {
    this.uidStr = uidStr;
  }

  public String getDidStr() {
    return didStr;
  }

  public void setDidStr(String didStr) {
    this.didStr = didStr;
  }

  public String getCidStr() {
    return cidStr;
  }

  public void setCidStr(String cidStr) {
    this.cidStr = cidStr;
  }

  public List<SalesAdvanceDetail> getDetails() {
    return details;
  }

  public void setDetails(List<SalesAdvanceDetail> details) {
    this.details = details;
  }

  @Override
  public String toString() {
    return "SalesAdvance{" +
            "id=" + id +
            ", docCode='" + docCode + '\'' +
            ", docDate=" + docDate +
            ", cid=" + cid +
            ", uid=" + uid +
            ", advanceAmount=" + advanceAmount +
            ", status=" + status +
            ", notes='" + notes + '\'' +
            ", createBy='" + createBy + '\'' +
            ", createTime=" + createTime +
            ", updateBy='" + updateBy + '\'' +
            ", updateTime=" + updateTime +
            ", isDelete=" + isDelete +
            ", settledAmount=" + settledAmount +
            ", unsettledAmount=" + unsettledAmount +
            ", sourceSheet='" + sourceSheet + '\'' +
            ", typeId=" + typeId +
            ", did=" + did +
            ", uidStr='" + uidStr + '\'' +
            ", didStr='" + didStr + '\'' +
            ", cidStr='" + cidStr + '\'' +
            ", details=" + details +
            '}';
  }
}
